--- dev-libs/glib-2.12.4-r1/work/glib-2.12.4/glib/gutils.h	2006-01-24 04:51:06.000000000 +1300
+++ dev-libs/glib-2.12.4-r1/work/glib-2.12.4/glib/gutils.h	2006-11-29 04:56:19.000000000 +1300
@@ -69,6 +69,20 @@
 #  endif /* va_list is a pointer */
 #endif /* !G_VA_COPY */
 
+/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+ *    inline semantics.  */
+#if __GNUC_PREREQ (4,3) && defined (__STDC_VERSION__) \
+   && __STDC_VERSION__ >= 199901L
+# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+# define __extern_always_inline \
+  extern __always_inline __inline __attribute__ ((__gnu_inline__))
+#else
+# define __extern_inline extern __inline
+# define __extern_always_inline extern __always_inline
+#endif
+
+
+
 /* inlining hassle. for compilers that don't allow the `inline' keyword,
  * mostly because of strict ANSI C compliance or dumbness, we try to fall
  * back to either `__inline__' or `__inline'.
@@ -96,8 +110,8 @@
 #ifdef G_IMPLEMENT_INLINES
 #  define G_INLINE_FUNC
 #  undef  G_CAN_INLINE
-#elif defined (__GNUC__) 
-#  define G_INLINE_FUNC extern inline
+#elif defined (__GNUC__)
+#   define G_INLINE_FUNC __extern_inline
 #elif defined (G_CAN_INLINE) 
 #  define G_INLINE_FUNC static inline
 #else /* can't inline */
